Key: PA = Programming Assignment, WA = Written Assignment

Date Lecture Topic Assigned Due
4/1 Tuesday 1 Course Overview
4/3 Thursday 2 Cool: The Course Project
4/8 Tuesday 3 Lexical Analysis PA1
4/10 Thursday 4 Finite Automata WA1
4/15 Tuesday 5 Introduction to Parsing
4/17 Thursday 6 Syntax-Directed Translation PA2, WA2PA1, WA1
4/22 Tuesday 7 Top-Down Parsing & Bottom-Up Parsing I
4/24 Thursday 8 Bottom-Up Parsing II
4/28 Monday WA2
4/29 Tuesday 9 Semantic Analysis and Type Checking I PA3PA2
5/1 Thursday In-class Midterm
5/6 Tuesday 10 Type Checking II
5/8 Thursday 11 Runtime Organization
5/13 Tuesday 12 Code Generation WA3
5/15 Thursday 13 Operational Semantics PA4, OptimizerPA3
5/20 Tuesday 14 Local Optimization WA3
5/22 Thursday 15 Global Optimization WA4
5/27 Tuesday 16 Register Allocation
5/29 Thursday 17 Garbage Collection PA4
6/3 Tuesday 18 TBD WA4
6/4 Wednesday Last Day of Classes PA5